<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>InfcSessionProxy</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.76.0">
<link rel="home" href="index.html" title="libinfinity-0.4 Reference Manual">
<link rel="up" href="ch04.html" title="Libinfinity client side API">
<link rel="prev" href="libinfinity-0.4-InfcNotePlugin.html" title="InfcNotePlugin">
<link rel="next" href="InfcExploreRequest.html" title="InfcExploreRequest">
<meta name="generator" content="GTK-Doc V1.15 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
<tr valign="middle">
<td><a accesskey="p" href="libinfinity-0.4-InfcNotePlugin.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
<td><a accesskey="u" href="ch04.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
<th width="100%" align="center">libinfinity-0.4 Reference Manual</th>
<td><a accesskey="n" href="InfcExploreRequest.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
</tr>
<tr><td colspan="5" class="shortcuts">
<a href="#InfcSessionProxy.synopsis" class="shortcut">Top</a>
                   | 
                  <a href="#InfcSessionProxy.description" class="shortcut">Description</a>
                   | 
                  <a href="#InfcSessionProxy.object-hierarchy" class="shortcut">Object Hierarchy</a>
                   | 
                  <a href="#InfcSessionProxy.implemented-interfaces" class="shortcut">Implemented Interfaces</a>
                   | 
                  <a href="#InfcSessionProxy.properties" class="shortcut">Properties</a>
</td></tr>
</table>
<div class="refentry" title="InfcSessionProxy">
<a name="InfcSessionProxy"></a><div class="titlepage"></div>
<div class="refnamediv"><table width="100%"><tr>
<td valign="top">
<h2><span class="refentrytitle"><a name="InfcSessionProxy.top_of_page"></a>InfcSessionProxy</span></h2>
<p>InfcSessionProxy</p>
</td>
<td valign="top" align="right"></td>
</tr></table></div>
<div class="refsynopsisdiv" title="Synopsis">
<a name="InfcSessionProxy.synopsis"></a><h2>Synopsis</h2>
<pre class="synopsis">                    <a class="link" href="InfcSessionProxy.html#InfcSessionProxy-struct" title="InfcSessionProxy">InfcSessionProxy</a>;
                    <a class="link" href="InfcSessionProxy.html#InfcSessionProxyClass" title="InfcSessionProxyClass">InfcSessionProxyClass</a>;
<span class="returnvalue">void</span>                <a class="link" href="InfcSessionProxy.html#infc-session-proxy-set-connection" title="infc_session_proxy_set_connection ()">infc_session_proxy_set_connection</a>   (<em class="parameter"><code><a class="link" href="InfcSessionProxy.html" title="InfcSessionProxy"><span class="type">InfcSessionProxy</span></a> *proxy</code></em>,
                                                         <em class="parameter"><code><a class="link" href="InfCommunicationJoinedGroup.html" title="InfCommunicationJoinedGroup"><span class="type">InfCommunicationJoinedGroup</span></a> *group</code></em>,
                                                         <em class="parameter"><code><a class="link" href="InfXmlConnection.html" title="InfXmlConnection"><span class="type">InfXmlConnection</span></a> *connection</code></em>,
                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> seq_id</code></em>);
<a class="link" href="InfcUserRequest.html" title="InfcUserRequest"><span class="returnvalue">InfcUserRequest</span></a> *   <a class="link" href="InfcSessionProxy.html#infc-session-proxy-join-user" title="infc_session_proxy_join_user ()">infc_session_proxy_join_user</a>        (<em class="parameter"><code><a class="link" href="InfcSessionProxy.html" title="InfcSessionProxy"><span class="type">InfcSessionProxy</span></a> *proxy</code></em>,
                                                         <em class="parameter"><code>const <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GParameter"><span class="type">GParameter</span></a> *params</code></em>,
                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> n_params</code></em>,
                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);
<a class="link" href="InfSession.html" title="InfSession"><span class="returnvalue">InfSession</span></a> *        <a class="link" href="InfcSessionProxy.html#infc-session-proxy-get-session" title="infc_session_proxy_get_session ()">infc_session_proxy_get_session</a>      (<em class="parameter"><code><a class="link" href="InfcSessionProxy.html" title="InfcSessionProxy"><span class="type">InfcSessionProxy</span></a> *proxy</code></em>);
<a class="link" href="InfXmlConnection.html" title="InfXmlConnection"><span class="returnvalue">InfXmlConnection</span></a> *  <a class="link" href="InfcSessionProxy.html#infc-session-proxy-get-connection" title="infc_session_proxy_get_connection ()">infc_session_proxy_get_connection</a>   (<em class="parameter"><code><a class="link" href="InfcSessionProxy.html" title="InfcSessionProxy"><span class="type">InfcSessionProxy</span></a> *proxy</code></em>);
<a class="link" href="InfCommunicationJoinedGroup.html" title="InfCommunicationJoinedGroup"><span class="returnvalue">InfCommunicationJoinedGroup</span></a> * <a class="link" href="InfcSessionProxy.html#infc-session-proxy-get-subscription-group" title="infc_session_proxy_get_subscription_group ()">infc_session_proxy_get_subscription_group</a>
                                                        (<em class="parameter"><code><a class="link" href="InfcSessionProxy.html" title="InfcSessionProxy"><span class="type">InfcSessionProxy</span></a> *proxy</code></em>);
</pre>
</div>
<div class="refsect1" title="Object Hierarchy">
<a name="InfcSessionProxy.object-hierarchy"></a><h2>Object Hierarchy</h2>
<pre class="synopsis">
  <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a>
   +----InfcSessionProxy
</pre>
</div>
<div class="refsect1" title="Implemented Interfaces">
<a name="InfcSessionProxy.implemented-interfaces"></a><h2>Implemented Interfaces</h2>
<p>
InfcSessionProxy implements
 <a class="link" href="InfCommunicationObject.html" title="InfCommunicationObject">InfCommunicationObject</a>.</p>
</div>
<div class="refsect1" title="Properties">
<a name="InfcSessionProxy.properties"></a><h2>Properties</h2>
<pre class="synopsis">
  "<a class="link" href="InfcSessionProxy.html#InfcSessionProxy--connection" title='The "connection" property'>connection</a>"               <a class="link" href="InfXmlConnection.html" title="InfXmlConnection"><span class="type">InfXmlConnection</span></a>*     : Read
  "<a class="link" href="InfcSessionProxy.html#InfcSessionProxy--session" title='The "session" property'>session</a>"                  <a class="link" href="InfSession.html" title="InfSession"><span class="type">InfSession</span></a>*           : Read / Write / Construct Only
  "<a class="link" href="InfcSessionProxy.html#InfcSessionProxy--subscription-group" title='The "subscription-group" property'>subscription-group</a>"       <a class="link" href="InfCommunicationJoinedGroup.html" title="InfCommunicationJoinedGroup"><span class="type">InfCommunicationJoinedGroup</span></a>*  : Read
</pre>
</div>
<div class="refsect1" title="Description">
<a name="InfcSessionProxy.description"></a><h2>Description</h2>
<p>
</p>
</div>
<div class="refsect1" title="Details">
<a name="InfcSessionProxy.details"></a><h2>Details</h2>
<div class="refsect2" title="InfcSessionProxy">
<a name="InfcSessionProxy-struct"></a><h3>InfcSessionProxy</h3>
<pre class="programlisting">typedef struct _InfcSessionProxy InfcSessionProxy;</pre>
<p>
</p>
</div>
<hr>
<div class="refsect2" title="InfcSessionProxyClass">
<a name="InfcSessionProxyClass"></a><h3>InfcSessionProxyClass</h3>
<pre class="programlisting">typedef struct {
  GObjectClass parent_class;

  GError* (*translate_error)(InfcSessionProxy* session,
                             GQuark domain,
                             guint code);
} InfcSessionProxyClass;
</pre>
<p>
</p>
</div>
<hr>
<div class="refsect2" title="infc_session_proxy_set_connection ()">
<a name="infc-session-proxy-set-connection"></a><h3>infc_session_proxy_set_connection ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                infc_session_proxy_set_connection   (<em class="parameter"><code><a class="link" href="InfcSessionProxy.html" title="InfcSessionProxy"><span class="type">InfcSessionProxy</span></a> *proxy</code></em>,
                                                         <em class="parameter"><code><a class="link" href="InfCommunicationJoinedGroup.html" title="InfCommunicationJoinedGroup"><span class="type">InfCommunicationJoinedGroup</span></a> *group</code></em>,
                                                         <em class="parameter"><code><a class="link" href="InfXmlConnection.html" title="InfXmlConnection"><span class="type">InfXmlConnection</span></a> *connection</code></em>,
                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> seq_id</code></em>);</pre>
<p>
Sets the subscription connection for the given session. The subscription
connection is the connection through which session requests are transmitted
during subscription.
</p>
<p>
The subscription connection might be set even if the session is in
SYNCHRONIZING state in which case the session is immediately subscribed
after synchronization. Note that no attempt is made to tell the other end
about the subscription.
</p>
<p>
<em class="parameter"><code>seq_id</code></em> should be a sequence identifier obtained from the server side. It
must be the same number that is used on the corresponding <a class="link" href="InfdSessionProxy.html" title="InfdSessionProxy"><span class="type">InfdSessionProxy</span></a>
on the remote side, see <a class="link" href="InfdSessionProxy.html#infd-session-proxy-subscribe-to" title="infd_session_proxy_subscribe_to ()"><code class="function">infd_session_proxy_subscribe_to()</code></a>. Normally
<a class="link" href="InfdDirectory.html" title="InfdDirectory"><span class="type">InfdDirectory</span></a> or <a class="link" href="InfcBrowser.html" title="InfcBrowser"><span class="type">InfcBrowser</span></a>, respectively, take care of passing the
correct sequence identifier.
</p>
<p>
When the subscription connection is being closed or replaced (by a
subsequent call to this function), all pending requests are dropped and
all users are set to be unavailable, but the session will not be closed,
so it may be reused by setting another subscription connection. However,
the session might not be synchronized again, but it is fully okay to close
the session by hand (using inf_session_close) and create a new session
that is synchronized.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>proxy</code></em> :</span></p></td>
<td>A <a class="link" href="InfcSessionProxy.html" title="InfcSessionProxy"><span class="type">InfcSessionProxy</span></a>.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>group</code></em> :</span></p></td>
<td>A <a class="link" href="InfCommunicationJoinedGroup.html" title="InfCommunicationJoinedGroup"><span class="type">InfCommunicationJoinedGroup</span></a> of subscribed connections. Ignored
if <em class="parameter"><code>connection</code></em> is <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>connection</code></em> :</span></p></td>
<td>A <a class="link" href="InfXmlConnection.html" title="InfXmlConnection"><span class="type">InfXmlConnection</span></a>.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>seq_id</code></em> :</span></p></td>
<td>A sequence identifier for <em class="parameter"><code>connection</code></em>. Ignored if <em class="parameter"><code>connection</code></em>
is <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" title="infc_session_proxy_join_user ()">
<a name="infc-session-proxy-join-user"></a><h3>infc_session_proxy_join_user ()</h3>
<pre class="programlisting"><a class="link" href="InfcUserRequest.html" title="InfcUserRequest"><span class="returnvalue">InfcUserRequest</span></a> *   infc_session_proxy_join_user        (<em class="parameter"><code><a class="link" href="InfcSessionProxy.html" title="InfcSessionProxy"><span class="type">InfcSessionProxy</span></a> *proxy</code></em>,
                                                         <em class="parameter"><code>const <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GParameter"><span class="type">GParameter</span></a> *params</code></em>,
                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> n_params</code></em>,
                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
<p>
Requests a user join for a user with the given properties (which must not
include ID and status since these are initially set by the server).
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>proxy</code></em> :</span></p></td>
<td>A <a class="link" href="InfcSessionProxy.html" title="InfcSessionProxy"><span class="type">InfcSessionProxy</span></a>.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>params</code></em> :</span></p></td>
<td>Construction properties for the InfUser (or derived) object.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>n_params</code></em> :</span></p></td>
<td>Number of parameters.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
<td>Location to store error information.
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td> A <a class="link" href="InfcUserRequest.html" title="InfcUserRequest"><span class="type">InfcUserRequest</span></a> object that may be used to get notified
when the request succeeds or fails.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" title="infc_session_proxy_get_session ()">
<a name="infc-session-proxy-get-session"></a><h3>infc_session_proxy_get_session ()</h3>
<pre class="programlisting"><a class="link" href="InfSession.html" title="InfSession"><span class="returnvalue">InfSession</span></a> *        infc_session_proxy_get_session      (<em class="parameter"><code><a class="link" href="InfcSessionProxy.html" title="InfcSessionProxy"><span class="type">InfcSessionProxy</span></a> *proxy</code></em>);</pre>
<p>
Returns the session proxied by <em class="parameter"><code>proxy</code></em>, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the session has been
closed.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>proxy</code></em> :</span></p></td>
<td>A <a class="link" href="InfcSessionProxy.html" title="InfcSessionProxy"><span class="type">InfcSessionProxy</span></a>.
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td> A <a class="link" href="InfSession.html" title="InfSession"><span class="type">InfSession</span></a>, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" title="infc_session_proxy_get_connection ()">
<a name="infc-session-proxy-get-connection"></a><h3>infc_session_proxy_get_connection ()</h3>
<pre class="programlisting"><a class="link" href="InfXmlConnection.html" title="InfXmlConnection"><span class="returnvalue">InfXmlConnection</span></a> *  infc_session_proxy_get_connection   (<em class="parameter"><code><a class="link" href="InfcSessionProxy.html" title="InfcSessionProxy"><span class="type">InfcSessionProxy</span></a> *proxy</code></em>);</pre>
<p>
Returns the connection that is used to transmit requests to the publisher
of the session, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the session is not subscribed.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>proxy</code></em> :</span></p></td>
<td>A <a class="link" href="InfcSessionProxy.html" title="InfcSessionProxy"><span class="type">InfcSessionProxy</span></a>.
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td> A <a class="link" href="InfXmlConnection.html" title="InfXmlConnection"><span class="type">InfXmlConnection</span></a>, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" title="infc_session_proxy_get_subscription_group ()">
<a name="infc-session-proxy-get-subscription-group"></a><h3>infc_session_proxy_get_subscription_group ()</h3>
<pre class="programlisting"><a class="link" href="InfCommunicationJoinedGroup.html" title="InfCommunicationJoinedGroup"><span class="returnvalue">InfCommunicationJoinedGroup</span></a> * infc_session_proxy_get_subscription_group
                                                        (<em class="parameter"><code><a class="link" href="InfcSessionProxy.html" title="InfcSessionProxy"><span class="type">InfcSessionProxy</span></a> *proxy</code></em>);</pre>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>proxy</code></em> :</span></p></td>
<td>
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>
</td>
</tr>
</tbody>
</table></div>
</div>
</div>
<div class="refsect1" title="Property Details">
<a name="InfcSessionProxy.property-details"></a><h2>Property Details</h2>
<div class="refsect2" title='The "connection" property'>
<a name="InfcSessionProxy--connection"></a><h3>The <code class="literal">"connection"</code> property</h3>
<pre class="programlisting">  "connection"               <a class="link" href="InfXmlConnection.html" title="InfXmlConnection"><span class="type">InfXmlConnection</span></a>*     : Read</pre>
<p>The connection with which the session communicates with the server.</p>
</div>
<hr>
<div class="refsect2" title='The "session" property'>
<a name="InfcSessionProxy--session"></a><h3>The <code class="literal">"session"</code> property</h3>
<pre class="programlisting">  "session"                  <a class="link" href="InfSession.html" title="InfSession"><span class="type">InfSession</span></a>*           : Read / Write / Construct Only</pre>
<p>The underlaying session object.</p>
</div>
<hr>
<div class="refsect2" title='The "subscription-group" property'>
<a name="InfcSessionProxy--subscription-group"></a><h3>The <code class="literal">"subscription-group"</code> property</h3>
<pre class="programlisting">  "subscription-group"       <a class="link" href="InfCommunicationJoinedGroup.html" title="InfCommunicationJoinedGroup"><span class="type">InfCommunicationJoinedGroup</span></a>*  : Read</pre>
<p>The communication group of subscribed connections.</p>
</div>
</div>
</div>
<div class="footer">
<hr>
          Generated by GTK-Doc V1.15</div>
</body>
</html>